block2 ブロックチェーンとゼロ知識証明入門
ブロックチェーン概論
経済的なセキュリティ -> Ultra sound money
Bitcoin - 二重支払問題を解決するソリューション
A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network.
パブリックブロックチェーン
ユースケース
DeFi
NFT
DAO
DAO を簡単に作れるというツール
投票ツール
分散ID
分散アプリケーション
課題
スケーラビリティ
ガスコスト
トランザクション
プライバシー
財布の中身(出金、入金)がみんなに見えるのはちょっと,,,
センシティブなデータを扱う
悪意のある詐欺行為
インターオペラビリティ
EVM 互換のチェーンが乱立
チェーン間の同期
規制・法整備
分散性
ゼロ知識証明で解決できるかも
プライバシー
スケーラビリティ
インターオペラビリティ
ゼロ知識証明とはなにか?
秘密情報を明かすことなく、その情報にまつわるある命題が真であるということを確率的に証明するプロトコル
これまで様々なスキームが考案されてきた
SNARK
ZK-SNARKs
SNARK はデザインなので、実装はたくさんある
Zero-Knowledge
Input を明かさない
Succinct
証明のサイズは小さい
検証の時間は短い
Non-interactive
証明者と検証者の間でインタラクティブなやりとりを必要としない
Argument of knowledge
命題が真となる値を実際に「知っている」ことの証明
ある命題が真であることの証明
== ある計算が正しく行われたことの証明
この考え方が超重要!
命題の例
sha256(m) = h
ZK-SNARKs を使うと、m を明かさずに、mを持っていることを証明できる
プライバシー
Confidenrtiality
Anonimity
考え方のシフト
sha256(m) = hとなるような m を知っている
=> sha256(m)を正しく計算すると、h になりました、ということを知っている
スケーラビリティ・インターオペラビリティ
Computational Integrity
Honest Computation
circom
proof をスマートコントラクトで検証できる
自動で検証コントラクトが生成される
パブリックブロックチェーン上にデプロイされたスマートコントラクトで検証された proof は「周知の事実」となる
Trusted Setup
ユースケース
ZCash
MACI
秘匿化された投票を実現
Semaphore
あるグループに所属していることを、アイデンティティを明かさずに証明する
NFT 会員証
リアルな人間とアドレスを紐付けないで証明
5ドルレンチ攻撃
ハードウェアウォレットだろうとメタマスクだろうとこれは対策しようがないので、個人情報の管理がホントに大切。
私も人のこと言えるほどセキリティしっかりしてませんが、顔晒しながら仮想通貨のインフルエンサーやってる人はこの辺のリスク管理どうしてるんだろう?
https://pbs.twimg.com/media/FEXX5mEaIAEBwBM.jpg
Grant を出している
ZK-EVM
スケーラビリティ
zkロールアップ
何がうれしいのか?
小さい証明で素早く検証できる
どれくらい素早いか
もう一度その計算を行うより早い
いままでは検証者が EVM の計算をすべて再度行う必要があった
zk を全く使っていないw
zk bridge
インターオペラビリティ
2つのブロックチェーンが存在
片方のチェーンで資産をロック
もう片方のチェーンでトークンをミント
Next Steps
数学を勉強しよう
Elliptic Curve Pairing
離散対数問題
モジュロ
楕円曲線
Polynomial Commitment
多項式をたくさんつかう
これを使いこなしたい
群論
有限体
Circom/halo2
MPC
Multi Party Computation
簡単な証明の計算を今度やろう